Сырые данные

С приёмником MS2 можно записывать сырые данные в проприетарном формате «ubx» с помощью Android-приложения с открытым исходным кодом RTKGPS+, а затем преобразовывать их в формат RINEX бесплатными утилитами.

Примечание

RINEX, Receiver INdependent EXchange format, — формат файлов для хранения данных спутниковых навигационных систем. Стандарт RINEX позволяет хранить данные и обмениваться ими независимо от того, каким приёмником они получены. Данные в формате RINEX можно обработать постобработкой и получить более точное решение; обычно для этого привлекают дополнительные сведения, недоступные в момент измерений, например данные наблюдений и модели атмосферных условий.

RTKGPS+

Приложение RTKGPS+ — проект с открытым исходным кодом, основанный на известной программе RTKLIB и доработанный для работы с модулями u-blox F9P.

Оно использует модуль «Navi» из состава RTKLIB, который обеспечивает определение координат в режиме RTK с приёмником u-blox (или другим), подключение к базе RTK через сеть 3G/4G и запись сессий в статическом или кинематическом режиме.

Приложение умеет выдавать фиктивное местоположение: смартфон использует не встроенный приёмник, а внешнюю антенну, благодаря чему геолокация работает с сантиметровой точностью.

Если говорить подробнее, RTKGPS+:

  • может работать в фоновом режиме
  • имеет достаточно простой интерфейс
  • может сохранять историю координат в файл .pos
  • может выступать сервером данных или клиентом сервера слежения

Первоначальные настройки

  1. Разрешите установку из неизвестных источников в системе Android: откройте панель уведомлений ‣ выберите настройки ‣ вкладка «Общие» ‣ безопасность ‣ неизвестные источники
  2. Скачайте и установите приложение по этой ссылке или по этой.
  3. Скачайте и установите приложение из Google Play Store
  4. Включите параметры разработчика, чтобы пользоваться фиктивным местоположением
  5. Включите режим разработчика: откройте настройки ‣ о телефоне ‣ нажмите 7 раз подряд на «Номер сборки»
  6. Включите «фиктивное местоположение»: откройте настройки ‣ параметры разработчика (меню появилось после предыдущего действия) ‣ выберите приложение для фиктивного местоположения ‣ RTKGPS+
  7. Отключите определение местоположения по Wi-Fi, чтобы избежать скачков позиции: откройте безопасность и местоположение ‣ дополнительные параметры ‣ точность определения местоположения ‣ использовать только внутренний GPS

Установка

  1. Скачайте settings.zip и поместите его в папку RtkGPS вашего устройства Android: при перезапуске приложения настройки применятся сами.

  2. Запустите приложение RTKGPS+

  3. В меню слева прокрутите вниз и нажмите «Загрузить настройки»

  4. Когда окно сообщения исчезнет, закройте и снова откройте приложение, чтобы новые настройки вступили в силу.

  5. Снова откройте RTKGPS+

  6. Разрешите приложению доступ к хранилищу данных и к местоположению

  7. Нажмите на логотип RTKGPS+, чтобы перейти к параметрам

  8. Нажмите «Опции обработки». В системах GNSS добавьте Beidou

  9. В настройках разрешения неоднозначностей примените такую конфигурацию:

    1. Нажмите «Опции решения»
    2. Выберите «Формировать фиктивные координаты GPS»
    3. Снимите флажок «Включить тестовый режим»
    4. Нажмите «Входной поток» и введите параметры настройки ровера и базы, как показано в прилагаемом видео
    5. Задайте значения в соответствии с файлом settings.zip
    6. Запустите сервер

Начало сессии

С помощью приложения с открытым исходным кодом RTKGPS+ рассмотрим, как записать сырые данные в проприетарном формате u-blox (ubx) прямо на устройство Android, а затем преобразовать их в международный формат RINEX (наблюдения и навигация).

На вашем устройстве Android:

  1. Запустите приложение и в контекстном меню слева выберите Input streams (1)
_images/34_.png

Рис.1 Панель меню RTKGPS+

  1. В поле Type (4) выберите источник входящих данных (например, Bluetooth или TCP/IP), а в stream setting (5) — подключённое устройство либо IP-адрес и порт
_images/35_.png

Рис.2 RTKGPS+, настройки ровера

  1. Задайте формат входящих данных (7) от устройства (в нашем случае u-blox)
  2. Для входа базы оставьте «OFF»
_images/36_.png

Рис.3 RTKGPS+, журнал ровера

  1. В разделе Logstreams: включите «ON» и в Type (7) выберите File ‣ откройте Stream settings… (8) и замените rover_XXXXXX.log на rover_XXXXXX.ubx (9) ‣ ok
_images/37_.png

Рис.4 RTKGPS+, сохранение журнала ровера

  1. вернитесь в главное меню ‣ Processing options ‣ Positioning mode ‣ Single (10)
  2. Затем в Frequencies задайте L1+L2+L5 (11) (см. рис.5)
  3. Processing options ‣ Elevation mask, и выберите угол отсечки в зависимости от условий (см. рис.5)
_images/38_.png

Рис.5 RTKGPS+ Processing options

  1. Вернитесь в главное меню и начните запись, включив Server «ON» (12) (см. рис.1)
  2. При запуске службы отобразятся отслеживаемые спутники, как на рисунке ниже
_images/45_.png

Рис.6 RTKGPS+, запуск службы

Подсказка

Подождите немного, пока не будет захвачено достаточное число спутников

Загрузка и преобразование сырых данных

  1. скачайте данные на ноутбук — файл записи находится в папке RtkGps на устройстве Android
  2. откройте настольный пакет RTKLIB с открытым исходным кодом и запустите утилиту Rtkconv, которая преобразует наш файл из проприетарного формата ubx в международный формат RINEX
_images/39_.png

Рис.7 Главное окно RTKLIB

  1. перетащите проприетарный файл UBX в поле RTCM, RCV or RINEX OBS ? (2) (см. рис.6)
  2. выберите путь для файла obs (наблюдения) и файла nav (навигация) — (3)
_images/40_.png

Рис.8 Rtkconv, добавление файла UBX

  1. откройте «Options…» и задайте параметры, как на рисунке ниже:

    • для последующей постобработки используйте только группировку GPS (5), поэтому в разделе Satellite System снимите флажки с остальных группировок
    • оставьте без изменений использование двух частот L1 и L2 в разделе Frequencies
    • нажмите Ok для подтверждения
_images/41_.png

Рис.9 Rtkconv, настройка параметров

После преобразования появятся два новых файла:

  • XXXXX.obs (наблюдения)
  • XXXXX.nav (навигация)

Подсказка

Файл obs можно переименовать в XX.o: данные наблюдений при этом не теряются

Видео

Как записать сырые данные и выгрузить их для работы в RTKLIB — в этом видео

raw2g0

Android-приложение raw2g0 создано специально для работников лесной службы, которые будут выполнять IFNI системой GNSS MS2, чтобы предельно просто записывать сырую статическую сессию GNSS для последующей постобработки.

Возможности

  • Подключение к устройству Android по классическому Bluetooth
  • Запись сессий сырых данных в формате .ubx
  • Сохранение файлов в папках по дням

Примечание

Сессия записывается в проприетарном двоичном формате «ubx» в папку, создаваемую для дня съёмки, поэтому все пункты, записанные в один день, попадают в одну папку.

Требования

raw2g0 работает на устройствах с Android 7 и новее. Для записи файла нужен внешний приёмник GNSS с включённым и заранее сопряжённым Bluetooth.

Предупреждение

Всегда проверяйте, что приёмник настроен так, чтобы поток Bluetooth был в формате UBX или UBX+NMEA.

Если вы используете несколько приложений с разными потоками, например двоичным и NMEA, обязательно настройте приёмник до начала записи: чтобы передавать оба, задайте смешанный поток UBX+NMEA.

Если в потоке нет двоичных данных UBX (а есть, например, только NMEA), запись окажется испорченной и преобразовать её в файл RINEX будет невозможно.

Совет

Рекомендуется установить на устройстве Android максимальное время до отключения экрана.

По этой ссылке — короткое видео о настройке смешанного потока UBX+NMEA и сохранении его в файл конфигурации для повторного использования.

Установка

  1. Скачайте здесь
  2. Установите приложение на устройство Android
  3. Запустите приложение
  4. При первом запуске разрешите доступ к Bluetooth и к файлам, если появится запрос
_images/raw2g0_icon.png

Рис.1 Значок приложения raw2g0

Использование

Ниже описан порядок статической съёмки с raw2g0. Шаги очень простые, но выполнять их нужно внимательно:

  • при запуске приложения подключите приёмник к raw2g0 по Bluetooth кнопкой «Select Device» — единственным зелёным значком с изображением устройств
_images/rg1.png

Рис.2 Начальный экран

  • при нажатии появляется список доступных ранее сопряжённых устройств Bluetooth
  • нажмите на нужное — включённое, доступное и заранее сопряжённое
_images/rg2.png

Рис.3 Список доступных устройств

  • начните запись кнопкой «Start Recording» — красным значком с изображением часов и трёх полосок слева
_images/rg3.png

Рис.3 Запуск сессии

  • в центре экрана появится окно настройки параметров:

    • введите имя (обязательно, буквы и цифры без пробелов) снимаемого пункта
    • введите время стояния на пункте в секундах (например, 1800 с = 30 мин)
    • отметьте sound, если по окончании записи нужен звуковой сигнал
    • отметьте вибрацию, если по окончании записи нужно уведомление вибрацией
    • нажмите «OK», чтобы начать запись (обратный отсчёт)
_images/rg4.png

Рис.4 Настройка параметров

  • запись начинается, кнопка «Start Recording» меняет цвет с зелёного на красный, и внутри неё отображается обратный отсчёт
_images/rg5.png

Рис.5 Обратный отсчёт

  • по окончании уведомление (если оно задано) сообщит о завершении записи, и экран вернётся к виду с рисунка 3, после чего можно начать новую запись
  • сессия автоматически сохраняется в папку с датой дня (например, 2024-09-25)
_images/rg6.png

Рис.6 Папка с файлами *.ubx

Совет

Если ждать заданное время стояния не нужно, запись можно остановить в любой момент кнопкой «stop». Сессия прервётся сразу, но всё равно будет сохранена

Видео

Видео о описанных выше возможностях — здесь.

rawX

rawX — бесплатное Android-приложение с расширенными возможностями, созданное для техников, геодезистов, исследователей и вообще всех, кто работает с высокоточными системами GNSS. Приложение записывает сырые данные с внешних приёмников GNSS по классическому Bluetooth (SPP) и поддерживает несколько режимов работы под разные профессиональные задачи.

Возможности

  • Подключение по классическому Bluetooth (SPP) к внешним приёмникам GNSS

  • Режимы записи на выбор:

    • 🧍 Статический: статические наблюдения в течение заданного времени
    • 🚶 Кинематический: наблюдения в движении в течение заданного времени
    • 🧍🚶🧍 Stop&Go: наблюдения по времени, точка за точкой
  • Имя точки (статический, кинематический режим) или имя первой точки (stop&go)

  • Высота прибора в метрах для измерения точки или траектории на земле

  • Настраиваемый обратный отсчёт в секундах для статических и кинематических сессий, а также для интервалов stop и go в режиме stop&go

  • Понятный интерфейс:

    • Кнопки, меняющие вид в зависимости от состояния
    • Цвета и надписи, обновляемые в реальном времени
  • Встроенное окно «About» со сведениями об авторе и активной ссылкой на электронную почту

  • Автоматическое сохранение данных в папку Download; имя файла содержит точный момент сохранения (формат .ubx для сырых данных и .csv для журнала сессии)

  • Звуковое и тактильное уведомление по окончании сессий

  • Совместимость с профессиональными приёмниками GNSS (u-blox и другие)

  • Подключение к Интернету не требуется

Требования

rawX работает на устройствах с Android 7 и новее. Минимальные требования:

  • Устройство Android с включённым классическим Bluetooth

  • Операционная система: Android 7.0 (API 24) или новее

  • Свободное место во внутренней памяти для записи файлов

  • Необходимые разрешения:

    • Bluetooth и Bluetooth Admin (до Android 11)
    • Bluetooth Scan и Connect (начиная с Android 12)
    • Доступ к местоположению (необходим для Bluetooth)
    • Чтение и запись во внешнюю память

Для записи файла нужен внешний приёмник GNSS с включённым и заранее сопряжённым Bluetooth

Предупреждение

Всегда проверяйте, что приёмник настроен так, чтобы поток Bluetooth был в формате UBX или UBX+NMEA.

Если вы используете несколько приложений с разными потоками, например двоичным и NMEA, обязательно настройте приёмник до начала записи: чтобы передавать оба, задайте смешанный поток UBX+NMEA.

Если в потоке нет двоичных данных UBX (а есть, например, только NMEA), запись окажется испорченной и преобразовать её в файл RINEX будет невозможно.

Совет

Рекомендуется установить на устройстве Android максимальное время до отключения экрана.

По этой ссылке — короткое видео о настройке смешанного потока UBX+NMEA и сохранении его в файл конфигурации для повторного использования.

Установка

  1. Скачайте здесь
  2. Установите подписанный APK на своё устройство Android
  3. Предоставьте запрошенные при первом запуске разрешения
  4. Запустите приложение
  5. При первом запуске разрешите доступ к Bluetooth и к файлам, если появится запрос
  6. Убедитесь, что приёмник GNSS включён и виден по Bluetooth
  7. Подключите устройство кнопкой «Select Device»
  8. Выберите нужный режим записи

Версия 1.5: (последняя)

  • Расширенная совместимость с устройствами Bluetooth. Теперь приложение распознаёт и автоматически подключается к приёмникам GNSS, имя Bluetooth которых начинается с MS1, наряду с уже поддерживаемыми MS2. Это относится к устройствам серий MS1 и MS1mini.

  • Выбор отступа антенны. В настройках Static/Kinematic и Stop&Go добавлено выпадающее меню для выбора отступа антенны GNSS. Отступ — это расстояние по вертикали между опорной точкой антенны (ARP) и фазовым центром. Доступные предустановленные значения:

    1. No offset — без поправки (0 мм)
    2. MS1/MS2 — стандартный отступ для антенн MS1 и MS2 (63,5 мм)
    3. MS1mini — отступ для антенны MS1mini (46,9 мм)

Выбранный отступ автоматически прибавляется к введённой высоте прибора, поэтому достаточно ввести высоту, измеренную от земли до опорной точки антенны.

  • Управление пользовательскими отступами. Кнопка «…» рядом с меню отступов открывает окно управления, где можно:

    1. Просмотреть все доступные отступы
    2. Добавить новые пользовательские отступы (имя и значение в мм)
    3. Удалить пользовательские отступы (с подтверждением)

Предустановленные отступы защищены значком замка и не удаляются. Пользовательские отступы сохраняются и остаются доступными между сессиями.

  • Указание UTC в файлах CSV. Метки времени в экспортируемых файлах CSV теперь явно помечены как UTC:

    1. Заголовок сессии: # Start (UTC): и # End (UTC):
    2. Столбец данных Stop&Go: Timestamp(UTC)

Это исключает неоднозначность в толковании записанного времени при постобработке.

Версия 1.4

  • Исправление ошибок

Версия 1.3:

  • Наглядный обратный отсчёт, попеременно показывающий «CHECK» и оставшиеся секунды во время проверки данных
  • Блокирует действия пользователя на важном этапе проверки соединения с устройством

Версия 1.2:

  • переработан экран соединения с контролем входящего потока UBX, исправлены различные ошибки
  • соединение Bluetooth SPP только с устройствами MS2
  • добавлены новые подключения по USB и TCP
  • улучшен интерфейс: кнопки разного цвета
  • возможность передать сессию без кабеля для выгрузки данных
  • общие исправления ошибок

Использование

Запустите приложение только что установленным значком, как на рисунке ниже

_images/icon.png

Рис.1 Запуск приложения rawX по значку

При запуске rawX показывает анимированную заставку с процентом загрузки программы

_images/splash.png

Рис.2 Начальная заставка приложения rawX

Далее можно выбрать режим работы: Static/Kinematic или Stop&Go

_images/modalita.png

Рис.3 Выбор режима работы

Режим Static/Kinematic

Кнопкой «Select Device» приложение подключается к приёмнику по Bluetooth

_images/static_kinematic.png

Рис.4 Выбор внешнего устройства по Bluetooth

Выберите устройство, ранее сопряжённое по Bluetooth

_images/static_select_device.png

Рис.5 Список доступных сопряжённых устройств

Подключение сопровождается наглядным обратным отсчётом

_images/static_connecting.png

Рис.6 Подключение к внешнему устройству

После выбора устройства в режиме Static/Kinematic можно начать запись кнопкой «Start Recording»

_images/static_start.png

Рис.7 Запуск записи Static/Kinematic

На экране появится окно настройки режима Static/Kinematic, где задаются:

  • имя снимаемой точки или траектории
  • время обратного отсчёта сессии в секундах
  • высота прибора в метрах
  • звуковое или вибрационное уведомление по окончании отсчёта — как при обычном завершении, так и при остановке пользователем
_images/110.png

Рис.8 Настройки записи Static/Kinematic

После начала записи на экране отображается обратный отсчёт с ранее выбранным числом секунд, как на рис. 9 ниже

_images/11a.png

Рис.9 Обратный отсчёт сессии

По окончании сессии запись автоматически сохраняется в папку, в которой находятся:

  • выбранное имя точки или траектории с расширением .ubx — сырые данные
  • выбранное имя точки или траектории с расширением .csv — журнал сессии
_images/11b.png

Рис.10 Сохранение сессии Static/Kinematic

На рисунке ниже приведён пример файла csv — журнала для режима Static/Kinematic

_images/rep_st_kin.png

Рис.11 Журнал режима Static/Kinematic

Режим Stop&Go

Кнопкой «Select Device» приложение подключается к приёмнику по Bluetooth

_images/stopgo_select_device.png

Рис.12 Выбор внешнего устройства

Выберите устройство, ранее сопряжённое по Bluetooth

_images/static_select_device.png

Рис.13 Список доступных устройств

Подключение сопровождается наглядным обратным отсчётом

_images/sgo_connect.png

Рис.14 Подключение к внешнему устройству

После выбора устройства в режиме Stop&Go можно начать запись кнопкой «Start Recording»

_images/sgo_avvio.png

Рис.15 Запуск записи Stop&Go

На экране появится окно, из которого начинается съёмка точек в режиме Stop.

_images/11c.png

Рис.16 Начало съёмки точек Stop&Go

При нажатии единственной активной кнопки «Go to Point» на экране появятся параметры stop&go, а именно:

  • первая по порядку снимаемая точка
  • время стояния на каждой последующей точке
  • высота прибора в метрах для каждой последующей точки, как на рис.16
  • звуковое или вибрационное уведомление по окончании отсчёта — как при обычном завершении, так и при остановке пользователем
_images/11d.png

Рис.17 Настройки записи Stop&Go

Примечание

Долгое нажатие кнопки «Go to Point» в любой момент показывает текущее состояние ещё не снятой точки и последние выбранные значения обратного отсчёта и высоты прибора, чтобы их можно было изменить в любое время

Обратите внимание: точки снимаются по порядку, начиная с первой введённой.

Режим Stop запускается коротким нажатием кнопки «Go to Point»: начинается запись точки и обратный отсчёт, как на рис. 17 ниже

_images/11e.png

Рис.18 Запуск «stop» в режиме Stop&Go

После съёмки всех точек всю сессию можно сохранить кнопкой «Save Session», как на рис.18 ниже

_images/11f.png

Рис.19 Сохранение сессии Stop&Go

Примечание

Сессия автоматически сохраняется в папку с датой дня, а в ней находятся два файла: - полная кинематическая сессия в проприетарном сыром формате .ubx - чередующиеся интервалы Stop и Go для каждой снятой точки

На рисунке ниже приведён пример файла csv — журнала для режима Stop&Go

_images/rep_sgo.png

Рис.20 Журнал режима Stop&Go

В любой момент можно вернуться в меню выбора режима кнопкой «Back», доступной в обоих режимах, либо просто выйти из приложения кнопкой «Exit» с подтверждением, как на рисунке ниже

_images/11g.png

Рис.21 Выход из приложения rawX

Нажав на название приложения в левом верхнем углу, можно увидеть:

  • имя разработчика
  • текущую выпущенную версию
  • дату выпуска
  • электронную почту разработчика
  • краткое описание приложения
_images/about.png

Рис.22 Сведения о приложении rawX

Видео

Видео о описанных выше возможностях — здесь.